<div>
    <CheckboxGroup Options="@plainOptions" @bind-Value="@checkValue1" />
    <br />
    <br />
    <CheckboxGroup Options="@ckeckAllOptions" @bind-Value="@checkValue2" />
    <br />
    <br />
    <CheckboxGroup Options="@OptionsWithDisable" @bind-Value="@checkValue1" />
</div>
@code{

    string[] checkValue1 = {"Apple"};
    string[] checkValue2 = {"Pear"};

    CheckboxOption[] plainOptions = new CheckboxOption[]
    {
        new CheckboxOption {Label = "Apple", Value = "Apple"},
        new CheckboxOption {Label = "Pear", Value = "Pear"},
        new CheckboxOption {Label = "Orange", Value = "Orange"},
    };

    CheckboxOption[] ckeckAllOptions = new CheckboxOption[]
    {
        new CheckboxOption {Label = "Apple", Value = "Apple"},
        new CheckboxOption {Label = "Pear", Value = "Pear", Checked = true},
        new CheckboxOption {Label = "Orange", Value = "Orange"},
    };

    CheckboxOption[] OptionsWithDisable = new CheckboxOption[]
    {
        new CheckboxOption {Label = "Apple", Value = "Apple"},
        new CheckboxOption {Label = "Pear", Value = "Pear"},
        new CheckboxOption {Label = "Orange", Value = "Orange", Disabled = true},
    };

    private bool checkAll { get; set; } = false;

    void groupValueChanged()
    {
        bool allChecked = checkAll;
        plainOptions.ForEach(o => o.Checked = !allChecked);
    }

}